htt[p]erl, simulador de web server
Publicado por Fábio Berbert de Paula 06/01/2003
[ Hits: 8.064 ]
Homepage: https://fabio.automatizando.dev
htt[p]erl é um script usado para simular um servidor web, muito bom para quem deseja entender melhor o protocolo de comunicação entre browser e servidor. O programa fica escutando na porta TCP 80 e envia uma página HTML padrão para o browser do usuário.
#!/usr/bin/perl
# ---------------------------------------------------------
# httperl.pl (htt[p]erl)
#
# Script em Perl usado para simular um servidor web, muito
# bom para quem deseja entender melhor o protocolo de
# comunicação entre browser e servidor
#
#
# Programado por Fábio Berbert de Paula
# <fabio@vivaolinux.com.br>
#
# Rio de Janeiro, 06 de Janeiro de 2003
# ---------------------------------------------------------
$| = 1;
# criar socket na porta 80 do servidor
use IO::Socket;
my $sock = new IO::Socket::INET (
LocalPort => '80',
Type => SOCK_STREAM,
Proto => 'tcp',
Listen => 10
);
die "Não consegui iniciar o servidor: $!\n" unless $sock;
print "Servidor iniciado ...\n";
# definir o cabeçalho de retorno básico
my $retorno = "
HTTP/1.1 200 OK
Server: htt[p]erl/1.0 (GNU/Linux)
Connection: close
Content-Type: text/html
<html>
<body>
Uma cortesia de <a href=\"http://www.vivaolinux.com.br\">Viva o Linux</a>.
</body>
</html>
";
# aceitar conexões TCP
while (my $new_sock = $sock->accept()) {
while($linha = <$new_sock>) {
# imprimir o cabeçalho recebido pelo browser do usuário
print $linha;
# se linha vazia, então o browser envio câmbio, vamos respondê-lo
if ($linha!~/[A-Za-z0-9]/) {
print $new_sock $retorno;
# fechar conexão com o cliente
$new_sock = '';
}
}
close(W);
}
close($sock);
Introdução a Persistência de Estrutura de Dados em Perl
Algoritmo de Fatoração de Fermat (FFA) em Perl
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
É normal não gostar de KDE? (8)
O programa assinador digital (0)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)









